export function showHelp(info, highlight, warning) {
  info('\nUsage:');
  highlight('  npx create-expo-stack <project-name> [options]\n');

  info('Options:');
  highlight('  --help, -h          Show this help message');
  highlight('  --default, -d       Skip the CLI and use the default configuration');
  highlight('  --nonInteractive    Skip the CLI and use options passed via command line');
  highlight('  --overwrite         Overwrite the target directory if it exists');
  highlight('  --noInstall         Skip installing dependencies');
  highlight('  --noGit            Skip git initialization');
  highlight('  --publish          Create a GitHub repository and push the code');
  info('');
  highlight('  Info');
  info('    Creates a new configurable Expo project');
  info('');
  highlight('  Usage');
  warning('    $ npx create-expo-stack <project_name> [options]');
  info('');
  highlight('  Commands:');
  highlight('    create <project-name>  Create a new Expo project');
  highlight('    publish               Publish current project to GitHub\n');
  highlight('  Options');
  info('    -d, --default         Use the default options for creating a project');
  info('        --noInstall       Skip installing npm packages or CocoaPods');
  info('        --noGit           Skip initializing a git repository');
  info('        --overwrite       Skip checks for an existing project directory');
  info('        --blank           Use the blank typescript template');
  info('        --npm             Use npm as the package manager');
  info('        --yarn            Use yarn as the package manager');
  info('        --pnpm            Use pnpm as the package manager');
  info('	--bun		  Use bun as the package manager');
  info('        --importAlias     Enable TS path aliases');
  info('    -v, --version         Version number');
  info('    -h, --help            Usage info');
  info('');
  highlight('   Navigation Package Options');
  info('    	--exporouter      Use Expo Router for navigation');
  info('    	--reactnavigation Use React Navigation for navigation');
  info('    	--tabs            Use tabs for navigation');
  info('    	--drawer+tabs     Use drawer + tabs for navigation');
  info('');
  highlight('   Authentication Package Options');
  info('    	--firebase        Use Firebase for authentication');
  info('    	--supabase        Use Supabase for authentication');
  info('');
  highlight('   Analytics Package Options');
  info('    	--vexo-analytics  Use Vexo Analytics for analytics');
  info('');
  highlight('   Styling Package Options');
  info('    	--nativewind      Use Nativewind for styling');
  info('    	--unistyles       Use Unistyles for styling');
  info('	--stylesheet      Use StyleSheet for styling');
  info('');
  highlight('   Internationalization');
  info('    	--i18next         Use i18next and react-i18next for internationalization');
  info('');
  highlight('   Opinionated Stacks');
  info('    -i, --ignite          Use Ignite to create an opinionated stack');
  info('');

  highlight('   Non-Interactive Usage');
  info('    If you know the options you want to use, you can pass them in via the');
  info('    command line. This will skip the interactive CLI and use the options');
  info('    you pass in. This is also useful for CI/CD environments.');
  info('');
  info('    For example:');
  info(' ');
  warning('    $ npx create-expo-stack myProject --reactnavigation --nativewind --noInstall');
  info('');
}
